

package com.hazelcast.map.impl.recordstore;

import com.hazelcast.map.impl.operation.steps.engine.Step;

import java.util.function.Consumer;

/**
 * Interface for a storage-backend (e.g. B+tree or a
 * record store) that supports Steps infrastructure
 * and collects custom Steps to inject.
 */
public interface CustomStepAwareStorage {

    /**
     * Appends provided step to the head of step-chain.
     *
     * @param steps consumer which adds step to the head of step-chain.
     */
    void collectCustomSteps(Consumer<Step> steps);
}
